home *** CD-ROM | disk | FTP | other *** search
/ Software of the Month Club 2000 October / Software of the Month - Ultimate Collection Shareware 277.iso / pc / PROGRAMS / UTILITY / WINLINUX / DATA1.CAB / programs_-_include / ASM-ARM / ARCH-RPC / HARDWARE.H < prev    next >
C/C++ Source or Header  |  1999-09-17  |  2KB  |  100 lines

  1. /*
  2.  * linux/include/asm-arm/arch-rpc/hardware.h
  3.  *
  4.  * Copyright (C) 1996 Russell King.
  5.  *
  6.  * This file contains the hardware definitions of the RiscPC series machines.
  7.  */
  8.  
  9. #ifndef __ASM_ARCH_HARDWARE_H
  10. #define __ASM_ARCH_HARDWARE_H
  11.  
  12. /*
  13.  * What hardware must be present
  14.  */
  15. #define HAS_IOMD
  16. #include <asm/iomd.h>
  17. #define HAS_VIDC20
  18.  
  19. /* Hardware addresses of major areas.
  20.  *  *_START is the physical address
  21.  *  *_SIZE  is the size of the region
  22.  *  *_BASE  is the virtual address
  23.  */
  24. #define RAM_SIZE        0x10000000
  25. #define RAM_START        0x10000000
  26.  
  27. #define EASI_SIZE        0x08000000    /* EASI I/O */
  28. #define EASI_START        0x08000000
  29. #define EASI_BASE        0xe8000000
  30.  
  31. #define IO_START        0x03000000    /* I/O */
  32. #define IO_SIZE            0x01000000
  33. #define IO_BASE            0xe0000000
  34.  
  35. #define SCREEN_START        0x02000000    /* VRAM */
  36. #define SCREEN2_END        0xe0000000
  37. #define SCREEN2_BASE        0xd8000000
  38. #define SCREEN1_END        0xd8000000
  39. #define SCREEN1_BASE        0xd0000000
  40.  
  41.  
  42. #ifndef __ASSEMBLER__
  43.  
  44. /*
  45.  * for use with inb/outb
  46.  */
  47. #define IO_VIDC_AUDIO_BASE    0x80140000
  48. #define IO_VIDC_BASE        0x80100000
  49. #define IO_IOMD_BASE        0x80080000
  50.  
  51. #define IO_EC_EASI_BASE        0x82000000
  52. #define IO_EC_IOC4_BASE        0x8009c000
  53. #define IO_EC_IOC_BASE        0x80090000
  54. #define IO_EC_MEMC8_BASE    0x8000ac00
  55. #define IO_EC_MEMC_BASE        0x80000000
  56.  
  57. /*
  58.  * IO definitions
  59.  */
  60. #define EXPMASK_BASE        ((volatile unsigned char *)0xe0360000)
  61. #define IOEB_BASE        ((volatile unsigned char *)0xe0350050)
  62. #define IOC_BASE        ((volatile unsigned char *)0xe0200000)
  63. #define PCIO_FLOPPYDMABASE    ((volatile unsigned char *)0xe002a000)
  64. #define PCIO_BASE        0xe0010000
  65.  
  66. /*
  67.  * Offsets from RAM base
  68.  */
  69. #define PARAMS_OFFSET        0x0100
  70. #define KERNEL_OFFSET        0x8000
  71.  
  72. /*
  73.  * RAM definitions
  74.  */
  75. #define MAPTOPHYS(x)        (x)
  76. #define KERNTOPHYS(x)        ((unsigned long)(&x))
  77. #define GET_MEMORY_END(p)    (PAGE_OFFSET + p->u1.s.page_size * \
  78.                         (p->u1.s.pages_in_bank[0] + \
  79.                          p->u1.s.pages_in_bank[1] + \
  80.                          p->u1.s.pages_in_bank[2] + \
  81.                          p->u1.s.pages_in_bank[3]))
  82.  
  83. #define KERNEL_BASE        (PAGE_OFFSET + KERNEL_OFFSET)
  84. #define PARAMS_BASE        (PAGE_OFFSET + PARAMS_OFFSET)
  85. #define Z_PARAMS_BASE        (RAM_START + PARAMS_OFFSET)
  86. #define SAFE_ADDR        0x00000000    /* ROM */
  87.  
  88. #else
  89.  
  90. #define VIDC_SND_BASE        0xe0500000
  91. #define VIDC_BASE        0xe0400000
  92. #define IOMD_BASE        0xe0200000
  93. #define IOC_BASE        0xe0200000
  94. #define PCIO_FLOPPYDMABASE    0xe002a000
  95. #define PCIO_BASE        0xe0010000
  96.  
  97. #endif
  98. #endif
  99.  
  100.